home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol024 / blakjak.bas next >
Encoding:
BASIC Source File  |  1987-01-11  |  13.5 KB  |  277 lines

  1. 10 REM BLAKJAK.BAS  3/2/82
  2. 20 REM PROGRAM BY TOM SPRINGALL
  3. 30 REM ADAPTED FROM AN APL PROGRAM BY CHARLIE SOLOMON
  4. 40 MENU$="NO"
  5. 50 GOTO 110
  6. 100 MENU$="YES"
  7. 110 OPTION BASE 0:DEFINT A,C-Z:DIM DK(52),NUM$(13)
  8. 120 T$=TIME$:X=0:DKI=0
  9. 130 FOR I = 2 TO 3:X=X*60+ VAL(MID$(T$,(3*I-2),2)):NEXT:RANDOMIZE X-32000
  10. 140 DATA A,"2","3","4","5","6","7","8","9","10",J,Q,K
  11. 150 FOR I=1 TO 13:READ NUM$(I):NEXT I
  12. 160 SUITS$(1)=CHR$(3):SUITS$(2)=CHR$(4):SUITS$(3)=CHR$(5):SUITS$(4)=CHR$(6)
  13. 170 KEY OFF:CLS
  14. 180 GOSUB 2140 ' 1ST SCREEN OF INSTRUCTIONS
  15. 190 LOCATE 23,1,1:INPUT;"STAKE";STKE:BAL=STKE
  16. 200 CLS:GOSUB 2320 ' 2ND SCREEN
  17. 210 X$="FIRST BET (0 TO QUIT)"
  18. 220 IF BAL<=0 GOTO 1210
  19. 230 GOSUB 1720 ' DISPLAY BALANCE
  20. 240 HNDS=1:N=1:GOSUB 1810 ' GET BET
  21. 250 CLS:IF DKI<16 THEN GOSUB 1500 'FRESH DECK
  22. 260 LOCATE 1,1,0:PRINT "DEALER'S HAND:"
  23. 270 LOCATE 12,1,0:PRINT "YOUR HAND:";
  24. 280 BT(1)=BT:BAL=BAL-BT:LOCATE 12,25,0:PRINT USING "BET: $$####.##";BT;
  25. 290 GOSUB 1720 ' DISPLAY BALANCE
  26. 300 LOCATE 23,1,0:PRINT SPACE$(30);
  27. 310 GOSUB 1440:PH$(1)=X$:PVAL(N)=XVAL:PACE(N)=XACE:PSV(1)=V
  28. 320 R=14:C=5:PMC=7:AH=0:GOSUB 1740:GOSUB 1930
  29. 330 GOSUB 1440:DH$(1)=X$:DVAL=XVAL:DACE=XACE
  30. 340 R=3:C=17:DC=17:GOSUB 1740:GOSUB 1930
  31. 350 GOSUB 1440:PH$(2)=X$:PVAL(N)=PVAL(N)+XVAL:PACE(N)=PACE(N)+XACE:PHI=2
  32. 360 PSV(2)=V:R=14:C=11:PC=11:GOSUB 1740:GOSUB 1930
  33. 370 GOSUB 1440:DH$(2)=X$:DVAL=DVAL+XVAL:DACE=DACE+XACE:DHI=2
  34. 380 R=3:C=5:X$=CHR$(21):GOSUB 1740:GOSUB 1890:PSV=PSV(2)
  35. 390 IF BAL<.5*BT OR "A"<>LEFT$(DH$(1),1) GOTO 500
  36. 400 LOCATE 23,1,1:PRINT "WANT TO BUY INSURANCE? (Y/N) ";
  37. 410 X$=INKEY$:IF X$="" GOTO 410
  38. 420 IF ASC(X$)=27 GOTO 2120
  39. 430 LOCATE 23,1,0:PRINT SPACE$(30);
  40. 440 IF X$="Y" OR X$="y" THEN BAL=BAL-.5*BT:GOTO 460
  41. 450 IF X$="N" OR X$="n" GOTO 500 ELSE 400
  42. 460 LOCATE 25,1,0:IF DVAL=11 AND DACE=1 GOTO 490
  43. 470 GOSUB 1720:PRINT "DEALER DOESN'T HAVE BLACKJACK.  ";
  44. 480 PRINT USING "HE COLLECTS YOUR $$##.##";.5*BT;:GOTO 510
  45. 490 PRINT "DEALER PAYS $";2*BT;" ON INSURANCE.";:BAL=BAL+2*BT:GOTO 520
  46. 500 IF DVAL=11 AND DACE=1 GOTO 520
  47. 510 IF PVAL(N)=11 AND PACE(N)=1 GOTO 550 ELSE 560
  48. 520 GOSUB 1960:GOSUB 2000 ' DEALER HAS BLACKJACK
  49. 530 IF PVAL(N)=11 AND PACE(N)=1 GOTO 540 ELSE GOSUB 2050:GOTO 1190
  50. 540 GOSUB 1990:BAL=BAL+BT:GOTO 1190 ' PLAYER AND DEALER HAVE BLACKJACK
  51. 550 GOSUB 1990:GOSUB 1960:BAL=BAL+2.5*BT:GOTO 1190 'ONLY PLAYER HAS BLACKJACK
  52. 560 IF BAL<BT(N) GOTO 710
  53. 570 IF LEFT$(PH$(1),1)<>LEFT$(PH$(2),1) AND PVAL(N)<>20 THEN IF AH=0 GOTO 710 ELSE 900
  54. 580 LOCATE 23,1,1:PRINT "DO YOU WANT TO SPLIT THE HAND? (Y/N) ";
  55. 590 X$=INKEY$:IF X$="" GOTO 590
  56. 600 IF ASC(X$)=27 GOTO 2120
  57. 610 LOCATE 23,1,1:PRINT SPACE$(38);
  58. 620 IF X$="Y" OR X$="y" THEN BAL=BAL-BT(N):GOSUB 1720:GOTO 640
  59. 630 IF X$="N" OR X$="n" GOTO 710 ELSE 580
  60. 640 HNDS=HNDS+1:PSV(HNDS)=PSV:BT(HNDS)=BT:GOSUB 1570
  61. 650 PHI=1:PVAL(N)=.5*PVAL(N):PVAL(HNDS)=PVAL(N)
  62. 660 PACE(N)=.5*PACE(N):PACE(HNDS)=PACE(N)
  63. 670 LOCATE 25,1,0:PRINT "HAND IS SPLIT.";
  64. 680 PRINT USING "  THE BET ON EACH HAND IS $$##.##.";BT(N);
  65. 690 IF PVAL(N) <> 1 GOTO 830
  66. 700 PRINT " ACES...ONE MORE CARD...";:AH=1:GOTO 940
  67. 710 IF (PVAL(N)=10 OR PVAL(N)=11) AND PACE(N)=0 AND BAL>=BT(N) GOTO 720 ELSE 830
  68. 720 LOCATE 23,1,0:PRINT SPACE$(30);
  69. 730 LOCATE 23,1,1:PRINT "HIT,STAND OR DOUBLE? (H/S/D) ";
  70. 740 X$=INKEY$:IF X$="" GOTO 740
  71. 750 IF ASC(X$)=27 GOTO 2120
  72. 760 IF X$="H" OR X$="h" GOTO 940                              ";
  73. 770 IF X$="D" OR X$="d" THEN BAL=BAL-BT(N):GOTO 790
  74. 780 IF X$="S" OR X$="s" GOTO 900 ELSE 720
  75. 790 GOSUB 1720 ' DISPLAY BALANCE
  76. 800 BT(N)=2*BT(N):LOCATE 12,30,0:PRINT USING "$$####.##";BT(N);
  77. 810 LOCATE 25,1,0:PRINT USING "THE BET IS DOUBLED TO $$###.##";BT(N);
  78. 820 PRINT "  ---- YOU GET ONE MORE CARD ----";:AH=1:GOTO 940
  79. 830 LOCATE 23,1,0:PRINT SPACE$(30);
  80. 840 LOCATE 23,13,0:PRINT " ";:LOCATE 23,1,1:PRINT "HIT OR STAND? (H/S) ";
  81. 850 X$=INKEY$:IF X$="" GOTO 850
  82. 860 IF ASC(X$)=27 GOTO 2120
  83. 870 PRINT X$;:IF X$="H" OR X$="h" GOTO 940
  84. 880 IF X$="S" OR X$="s" GOTO 900
  85. 890 LOCATE 25,1,0:PRINT "RESPOND WITH `H' FOR HIT OR `S' FOR STAND.";:GOTO 830
  86. 900 V(1)=PVAL(N):V(2)=PACE(N):GOSUB 1690:PVAL(N)=V
  87. 910 IF HNDS=N GOTO 980
  88. 920 FOR I=1 TO 1000:NEXT I:N=N+1:GOSUB 1570
  89. 930 IF PVAL(N)=1 GOTO 940 ELSE AH=0:GOTO 830
  90. 940 GOSUB 1540:V(1)=PVAL(N):V(2)=PACE(N):GOSUB 1690 'PLAYER ASKED FOR HIT
  91. 950 IF V<=21 THEN IF PHI=2 GOTO 560 ELSE IF AH=0 GOTO 830 ELSE 900
  92. 960 GOSUB 2010:GOTO 910 ' PLAYER IS BUSTED
  93. 970 GOSUB 1960:GOTO 1190 'DEALER SHOWS
  94. 980 GOSUB 1960:FOR I=1 TO HNDS:IF PVAL(I)<=21 GOTO 1000 'DOES DEALER PLAY?
  95. 990 NEXT I:GOTO 1190
  96. 1000 V(1)=DVAL:V(2)=DACE:GOSUB 1690: IF V>16 GOTO 1110 'DEALER PLAYS
  97. 1010   LOCATE 13,1,0:PRINT SPACE$(70);
  98. 1020 FOR I=1 TO 500:I=I:NEXT I
  99. 1030 GOSUB 1440:DHI=DHI+1:DH$(DHI)=X$:DVAL=DVAL+XVAL
  100. 1040 DACE=DACE+XACE:R=3:DC=DC+6:C=DC:GOSUB 1740:GOSUB 1930
  101. 1050 V(1)=DVAL:V(2)=DACE:GOSUB 1690: IF V<17 GOTO 1020
  102. 1060 IF V<=21 GOTO 1110
  103. 1070 REM DEALER BUSTS
  104. 1080 GOSUB 1960:GOSUB 2020
  105. 1090 IF HNDS<>1 THEN DVAL=0:GOTO 1260
  106. 1100 BAL=BAL+2*BT(N):GOSUB 2040:GOTO 1190
  107. 1110 IF HNDS>1 THEN DVAL=V:GOTO 1260
  108. 1120 ON 2+SGN(PVAL(N)-V) GOTO 1140,1160,1180
  109. 1130 REM PLAYER LOSES
  110. 1140 GOSUB 2050:GOTO 1190
  111. 1150 REM TIE
  112. 1160 GOSUB 2030:BAL=BAL+BT(N):GOTO 1190
  113. 1170 REM PLAYER WINS
  114. 1180 GOSUB 2040:BAL=BAL+2*BT(N):GOTO 1190
  115. 1190 X$="NEXT BET (0 TO QUIT)"
  116. 1200 LOCATE 12,30,0:PRINT SPACE$(9);:GOTO 220
  117. 1210 LOCATE 23,1,1
  118. 1220 PRINT  USING "THE GAME IS OVER. YOU BEGAN WITH $$###.##.";STKE;
  119. 1230 PRINT USING " YOU ENDED WITH $$###.##.";BAL;:PRINT SPACE$(12)
  120. 1240 PRINT SPACE$(79);
  121. 1250 LOCATE 25,1,0:PRINT SPACE$(79);:GOTO 2120
  122. 1260 REM TALLY DEALER VS PLAYER FOR MULTIPLE GAMES
  123. 1270 IF HNDS=2 GOTO 1370
  124. 1280 A=0:B=0:FOR I =1 TO HNDS:IF PVAL(I)>21 GOTO 1310
  125. 1290 IF PVAL(I)>DVAL THEN A=A+1:BAL=BAL+2*BT(N) ' COUNT WIN
  126. 1300 IF PVAL(I)=DVAL THEN B=B+1:BAL=BAL+BT(N) ' TIE
  127. 1310 NEXT I
  128. 1320 X$=STR$(HNDS)+" HANDS. ":C=HNDS-A-B
  129. 1330 IF A>0 THEN X$=X$+"YOU WON"+STR$(A)+". "
  130. 1340 IF B>0 THEN X$=X$+"YOU TIED"+STR$(B)+". "
  131. 1350 IF C>0 THEN X$=X$+"YOU LOST"+STR$(C)+". "
  132. 1360 COLOR 0,7:GOSUB 2080:GOTO 1190
  133. 1370 FOR I=1 TO 2:PMC=7+35*(I-1):PC=PMC+4
  134. 1380 IF PVAL(I)>21 GOTO 1420
  135. 1390 IF PVAL(I)>DVAL THEN BAL=BAL+2*BT(I):GOSUB 2040:GOTO 1420
  136. 1400 IF PVAL(I)=DVAL THEN BAL=BAL+BT(I):GOSUB 2030:GOTO 1420
  137. 1410 GOSUB 2050
  138. 1420 NEXT I:GOTO 1190
  139. 1430 REM GET NEXT CARD
  140. 1440   I=1+INT(DKI*RND):V=DK(I):PSV=V:DKI=DKI-1
  141. 1450   FOR I=I TO DKI:DK(I)=DK(I+1):NEXT I
  142. 1460  REM TEMP LINES
  143. 1470  REM LOCATE 3,60,1:INPUT;"CARD NO. ",V:PSV=V
  144. 1480   XVAL=1+(V-1) MOD 13:X$=NUM$(XVAL):IF XVAL>10 THEN XVAL=10
  145. 1490   X$=X$+SUITS$(1+INT((V-1)/13)):XACE=ABS(XVAL=1):RETURN
  146. 1500 REM FRESH DECK
  147. 1510   FOR I=1 TO 52:DK(I)=I:NEXT:DKI=52
  148. 1520   COLOR 31:LOCATE 1,60,0:PRINT "*** FRESH DECK ***";:COLOR 7:RETURN
  149. 1530 REM PLAYER ASKED FOR A HIT
  150. 1540   GOSUB 1440:PHI=PHI+1:PH$(PHI)=X$
  151. 1550   PVAL(N)=PVAL(N)+XVAL:PACE(N)=PACE(N)+XACE
  152. 1560   R=14:PC=PC+6:C=PC:GOSUB 1740:GOSUB 1930:RETURN
  153. 1570 REM DISPLAY HAND # AND PENDING HANDS
  154. 1580   IF N=2 AND HNDS=2 THEN X=1:PMC=42:GOTO 1600 ELSE X=0:PMC=7
  155. 1590   FOR I=13 TO 21:LOCATE I,1,0:PRINT SPACE$(79);:NEXT I
  156. 1600   LOCATE 13,6,0:COLOR 15,0:PRINT SPACE$(35*X);"HAND #";N;:COLOR 7,0
  157. 1610   V=PSV(N):GOSUB 1480:R=14:C=5+35*X:PC=C:GOSUB 1740:GOSUB 1930:PHI=1
  158. 1620   C=40:IF N=1 OR X=1 GOTO 1660
  159. 1630   FOR J=1 TO N-1:IF PVAL(J)>21 THEN X$=" BUST" ELSE X$=STR$(PVAL(J))
  160. 1640   LOCATE 14+J,C,0:PRINT "HAND";STR$(J);":";X$;:NEXT J:C=C+13
  161. 1650   IF N=HNDS THEN RETURN ' NO MORE PENDING HANDS?
  162. 1660   FOR J=N+1 TO HNDS:IF C>68 THEN RETURN ELSE LOCATE 13,C+1,0
  163. 1670   PRINT "#";J;:V=PSV(J):GOSUB 1480:GOSUB 1740:GOSUB 1930
  164. 1680   C=C+6:NEXT J:RETURN
  165. 1690 REM CALCULATE BEST SCORE. V=VALUE, # ACES
  166. 1700   IF V(2)=0 OR V(1)>=21 OR (V(1)+10)>21 THEN V=V(1):RETURN
  167. 1710   V(1)=V(1)+10:V(2)=V(2)-1:GOTO 1690
  168. 1720 REM DISPLAY BALANCE
  169. 1730   LOCATE 23,60,0:PRINT USING "BALANCE: $$####.##";BAL;:RETURN
  170. 1740 REM SHOWS EMPTY CARD AT R,C
  171. 1750   LOCATE R,C,0:PRINT CHR$(218);STRING$(9,196);CHR$(191);
  172. 1760   FOR I=R+1 TO R+6
  173. 1770   LOCATE I,C,0:PRINT CHR$(179);SPACE$(9);CHR$(179);:NEXT I
  174. 1780   LOCATE R+7,C,0:PRINT CHR$(192);STRING$(9,196);CHR$(217);
  175. 1790   RETURN
  176. 1800 REM GET BET. X$ IS PROMPT MSG
  177. 1810   A$=INKEY$:IF A$<>"" THEN IF ASC(A$)=27 GOTO 2120 ELSE 1810
  178. 1820   LOCATE 23,1,0:PRINT SPACE$(30);
  179. 1830   LOCATE 23,1,1:PRINT X$;:INPUT;BT
  180. 1840   IF BT=0 THEN GOTO 1210
  181. 1850   LOCATE 25,1,0
  182. 1860   IF BT<0 THEN PRINT "NEGATIVE BETS NOT ALLOWED.";:GOTO 1830
  183. 1870   IF BT>BAL THEN PRINT "NO CREDIT!  YOU HAVE ONLY $";BAL;:GOTO 1830
  184. 1880   RETURN
  185. 1890 REM FILL BACK OF CARD AT R,C WITH X$
  186. 1900   FOR I=R+1 TO R+6
  187. 1910   LOCATE I,C+1,0:PRINT STRING$(9,X$);
  188. 1920   NEXT I:RETURN
  189. 1930 REM SHOWS VALUE (X$) IN ULHC AND LRHC OF CARD AT R,C
  190. 1940   LOCATE R+1,C+1,0:PRINT X$;
  191. 1950   LOCATE R+6,C+10-LEN(X$),0:PRINT X$;:RETURN
  192. 1960 REM REVEAL DEALER'S HOLE CARD
  193. 1970   R=3:C=5:X$=" ":GOSUB 1890:X$=DH$(2):GOSUB 1930:RETURN
  194. 1980 REM RESULT MESSAGES:
  195. 1990   X$="BLACKJACK":GOTO 2070 ' PLAYER BLACKJACK
  196. 2000   X$="BLACKJACK":GOTO 2090 ' DEALER BLACKJACK
  197. 2010   X$="BUST":GOTO 2070 '      PLAYER BUST
  198. 2020   X$="BUST":GOTO 2090 '      DEALER BUST
  199. 2030   X$="STAND-OFF":GOTO 2070 ' STAND-OFF
  200. 2040   X$="WIN":GOTO 2070 '       WIN
  201. 2050   X$="LOSS":GOTO 2070 '      LOSS
  202. 2060   X$="STAND":GOTO 2070 ' PLAYER STANDS
  203. 2070   COLOR 16,7
  204. 2080   LOCATE 17,PMC,0:A=PC-PMC:GOTO 2100
  205. 2090   COLOR 16,7:LOCATE 6,7,0:A=DC-7
  206. 2100   A=A+9-LEN(X$):IF A<0 THEN B=0:C=0 ELSE B=INT(A/2):C=A-B
  207. 2110   PRINT SPACE$(B);X$;SPACE$(C);:COLOR 7,0:RETURN
  208. 2120 IF MENU$="YES" THEN CHAIN "MENU",180 ELSE COLOR 7,0
  209. 2130 END
  210. 2140 REM INSTRUCTIONS - SCREEN 1
  211. 2150 PRINT "                             WELCOME TO BLACKJACK"
  212. 2160 PRINT
  213. 2170 PRINT "The object of the game is to get a higher count than the dealer without ex-"
  214. 2180 PRINT "ceeding 21.  Aces count 1 or 11 (your choice).  Kings, Queens and Jacks"
  215. 2190 PRINT "count 10.  All other cards count at face value.  You must bet before the deal."
  216. 2200 PRINT "You may bet any amount up to your balance.":PRINT
  217. 2210 PRINT "The dealer initially deals two cards to you and two cards to himself - one up"
  218. 2220 PRINT "and one down.  A count of 21 on the initial deal is `Blackjack'.  If you have"
  219. 2230 PRINT "Blackjack (and the dealer doesn't), the dealer pays off 3 for 2 immediately."
  220. 2240 PRINT "If the dealer has Blackjack (and you don't), you lose your bet and the hand"
  221. 2250 PRINT "is over.  If you both have Blackjack, the hand is a `Stand-off' and your bet"
  222. 2260 PRINT "is returned.  If the dealer shows an Ace on the initial deal, you may buy"
  223. 2270 PRINT "`Insurance' against the possibility that he has Blackjack.  Insurance costs"
  224. 2280 PRINT "one-half of the amount you bet and pays twice the bet if the dealer has"
  225. 2290 PRINT "Blackjack.":PRINT
  226. 2300 PRINT "The next screen will have more instructions, but first, enter the amount of"
  227. 2310 PRINT "money you have to play the game.":RETURN
  228. 2320 REM INSTRUCTIONS - SCREEN 2
  229. 2330 PRINT "After the initial deal, you may ask for additional cards by asking for a"
  230. 2340 PRINT "`Hit'.  You may ask for as many hits as you wish.  However, if your count"
  231. 2350 PRINT "goes over 21, you are `Bust' and the hand is over.  If you do not wish an"
  232. 2360 PRINT "additional hit, indicate `Stand'.  After you stand, the dealer plays.  The"
  233. 2370 PRINT "dealer must draw an additional card if his count is 16 or less and must"
  234. 2380 PRINT "stand if his count is 17 or more.  If the dealer busts or the count in your"
  235. 2390 PRINT "hand exceeds the dealer's count, you win and the dealer pays off one-for-one."
  236. 2400 PRINT "If you both have the same count, your bet is returned.  Otherwise, you lose.":PRINT
  237. 2410 PRINT "If your initial two cards are a pair or both have a count of 10, you may"
  238. 2420 PRINT "split them into two hands.  Your original bet will be placed on each of the"
  239. 2430 PRINT "hands.  Split hands are played one at a time.  A two card count of 21 in a"
  240. 2440 PRINT "split hand is NOT Blackjack.  Also, if you split a pair of Aces, you will be"
  241. 2450 PRINT "dealt one and only one additional card for each hand.":PRINT
  242. 2460 PRINT "If the initial count in your hand is 10 or 11, you may `Double' the bet on"
  243. 2470 PRINT "the hand.  If you Double, the bet will be doubled and you will be dealt one"
  244. 2480 PRINT "and only one additional card.":PRINT
  245. 2490 PRINT "The game is over when you run out of money or decide to Quit.  Good Luck!"
  246. 2500 PRINT "Now enter the amount of money you want to wager on the first hand."
  247. 2510 RETURN
  248. 2520 REM VARIABLES:
  249. 2530   REM DK - REMAINING DECK OF CARDS (INTEGERS, INITIALLY 1-52)
  250. 2540   REM DKI - LENGTH OF DK
  251. 2550   REM STKE - INITIAL STAKE
  252. 2560   REM BAL - PLAYERS CURRENT BALANCE
  253. 2570   REM NUM$ - A,2,...,10,J,Q,K
  254. 2580   REM SUITS$ - SYMBOLS FOR THE 4 SUITS
  255. 2590   REM PMC - PLAYER MESSAGE COLUMN
  256. 2600   REM PC - LEFT SIDE COLUMN OF LAST PLAYER'S CARD
  257. 2610   REM DC - LEFT SIDE COLUMN OF LAST DEALER UP CARD
  258. 2620   REM PH$ - VECTOR OF SYMBOLS OF PLAYER'S CARDS
  259. 2630   REM PHI - INDEX OF LAST PLAYER CARD
  260. 2640   REM DH$ - VECTOR OF SYMBOLS OF DEALER'S CARDS (DH$(2) IS HOLE CARD)
  261. 2650   REM DHI - INDEX OF DEALER'S LAST CARD
  262. 2660   REM DVAL - VALUE OF DEALER'S HAND ASSUMING ACE=1
  263. 2670   REM DACE - NUMBER OF ACES IN PLAYER'S HAND
  264. 2680  REM FOLLOWING 4 VARIABLES HAVE AS MANY ELEMENTS AS HANDS IN PLAY
  265. 2690   REM BT - BET
  266. 2700   REM PVAL - VALUE OF PLAYER'S HAND ASSUMING ACE=1
  267. 2710   REM PACE - NUMBER OF ACES IN PLAYER'S HAND
  268. 2720   REM PSV - UNDECODED 1-52 VALUE OF 1ST CARD IN HAND
  269. 2730   REM HNDS - NUMBER OF HANDS IN PLAY
  270. 2740   REM N - CURRENT HAND
  271. 2750   REM R - ROW NUMBER
  272. 2760   REM C - SCREEN COLUMN NUMBER
  273. 2770   REM AH - AUTOMATIC HIT SWITCH
  274.    REM N - CURRENT HAND
  275. 2750   REM R - ROW NUMBER
  276. 2760   REM C - SCREEN COLUMN NUMBER
  277. 2